|
Date
:.........................................................................
14 mars 1993 Protection : ..........................................................MOT DE PASSE Programme : .................................................ARMOUR GEDDON Outils : ................................................................SOFT-ICE V2.50 Fichier : ..............................................................LANCEUR.COM Temps passé : ...30 MINUTES ( CONFECTION DU LANCEUR ) Société : ....................................................................PSYGNOSIS Divers : ...............................Compacté par PKLITE avec l'option -e Origine : ........................................................................MALAISIE Numéro : ...................................................................................207 |
Aucune précaution n'est prise pour camoufler un tant soit peu la routine de test des 6 carcatères entré vu que le fichier est pratiquement indécomprimable. Même le fameux programme japonais UUP.EXE y perd son latin. Les caractères sont demandés par l'INT 21: CS=108D CS:03BA CD21 INT 21 CS:03BC 3C00 CMP AL,00 CS:03BE 7402 JZ 03C2 CS:03C0 EB08 JMP 03CA CS:03C2 CD21 INT 21 Et la touche ENTER est testée en: CS=2437 CS:8080 3C0D CMP AL,0D CS:8082 7439 JZ 80BD Et en 80BD se trouve la routine qui teste les 6 caractères: CS:80BD 8E065219 MOV ES,[1952] CS:80C1 8B3EE2C8 MOV DI,[C8E2] CS:80C5 BED6C8 MOV SI,C8D6 CS:80C8 B90600 MOV CX,0006 CS:80CB F3A6 REPZ CMPSB ; TESTE LES 6 CHAR. CS:80CD 7402 JZ 80D1 ; SI 0 ---> OK CS:80CF EB01 JMP 80D2 CS:80D1 CB RETF ; ICI SI OK L'octet à modifier étant trouvé et comme le programme n'est pas décompilable il faut créer un lançeur. L'interruption 1C présente 18,2 fois par seconde ne convient pas. Il faut trouver une IT le plus près possible de la demande de caractères. En espionnant les IT avec SOFT-ICE il s'avère que c'est la 21 sous fonction 07: ; PATCH POUR LE PROGRAMME ARMOUR GEDDON ; DETOURNEMENT DE L'INT 21 sf 07 ; ;****************************************************************************** ; ZONE A INITIALISER adr_ip1 equ 80CDh ; adresse dont le contenu est à modifier. ; valeur directe. anc_val equ 0274h ; Valeur d'origine à rechercher. Inversée. nouv_val equ 0EBh ; Nouvelle valeur, JMP INT_DET equ 21h ; Le numéro de l'INT que l'on veut utiliser. sous_f equ 07 ; Sous fonction de l'INT 21 en AH. BEEP_TONE equ 440 ; Fréquence de la note. nb equ 30 ; Nombre de dépilage. ;****************************************************************************** ; Le reste du lançeur est identique à tous les autres. FREDDY